
package com.hulk.dryad.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 分布式锁注解
 * @author hulk
 */
@Target(value = {ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Lockd {

    /**
     * key 默认包名+方法名
     */
    String[] keys() default {};

    /**
	 * 支持 ms（毫秒），s（秒默认），m（分），h（小时），d（天）等单位
     * 尝试获取锁超时时间 单位：毫秒，默认2.5秒超时
     */
    String acquireTimeout() default "2500ms";

    /**
	 * 支持 ms（毫秒），s（秒默认），m（分），h（小时），d（天）等单位
     * 锁自动过期时间 单位：毫秒，默认8秒自动过期
     */
	String expireTime() default "8000ms";



}
